The following identified U.S. patent applications are relied upon and are incorporated by reference in this application.
U.S. Provisional Application No. 60/138,680, entitled xe2x80x9cJini(trademark) Technology Helper Utilities and Services,xe2x80x9d filed on Jun. 14, 1999.
Provisional U.S. Patent Application No. 60/076,048, entitled Distributed Computing System,xe2x80x9d filed on Feb. 26, 1998.
U.S. patent application Ser. No. 09/044,923, now U.S. Pat. No. 6,263,350, entitled xe2x80x9cMethod and System for Leasing Storage.xe2x80x9d
U.S. patent application Ser. No. 09/044,838, now U.S. Pat. No. 6,247,026, entitled xe2x80x9cMethod, Apparatus and Product for Leasing of Delegation Certificates in a Distributed System.xe2x80x9d
U.S. patent application Ser. No. 09/044,834, now U.S. Pat. No. 6,421,704, entitled xe2x80x9cMethod, Apparatus and Product for Leasing of Group Membership in a Distributed System.xe2x80x9d
U.S. patent application Ser. No. 09/044,919, now U.S. Pat. No. 6,272,559, entitled xe2x80x9cDeferred Reconstruction of Objects and Remote Loading for Event Notification in a Distributed System.xe2x80x9d
U.S. patent application Ser. No. 09/045,652, now U.S. Pat. No. 6,134,603, entitled xe2x80x9cMethod and System for Deterministic Hashes to Identify Remote Methods.xe2x80x9d
U.S. patent application Ser. No. 09/044,790, entitled xe2x80x9cMethod and Apparatus for Determining Status of Remote Objects in a Distributed System,xe2x80x9d filed on Mar. 20, 1998.
U.S. patent application Ser. No. 09/044,930, now U.S. Pat. No. 6,393,497, entitled xe2x80x9cDownloadable Smart Proxies for Performing Processing Associated with a Remote Procedure Call in a Distributed System.xe2x80x9d
U.S. patent application Ser. No. 09/044,917, now U.S. Pat. No. 6,237,024, entitled xe2x80x9cSuspension and Continuation of Remote Methods.xe2x80x9d
U.S. patent application Ser. No. 09/044,835, now U.S. Pat. No. 6,182,083, entitled xe2x80x9cMethod and System for Multi-Entry and Multi-Template Matching in a Database.xe2x80x9d
U.S. patent application Ser. No. 09/044,839, entitled xe2x80x9cMethod and System for In-Place Modifications in a Database,xe2x80x9d filed on Mar. 20, 1998.
U.S. patent application Ser. No. 09/044,945, entitled xe2x80x9cMethod and System for Typesafe Attribute Matching in a Database,xe2x80x9d filed on Mar. 20, 1998.
U.S. patent application Ser. No. 09/044,939, entitled xe2x80x9cApparatus and Method for Providing Downloadable Code for Use in Communicating with a Device in a Distributed System,xe2x80x9d filed on Mar. 20, 1998.
U.S. patent application Ser. No. 09/044,826, entitled xe2x80x9cMethod and System for Facilitating Access to a Lookup Service,xe2x80x9d filed on Mar. 20, 1998.
U.S. patent application Ser. No. 09/044,932, now U.S. Pat. No. 6,466,947, entitled xe2x80x9cApparatus and Method for Dynamically Verifying Information in a Distributed System.xe2x80x9d
U.S. patent application Ser. No. 09/030,840, now U.S. Pat. No. 6,446,070, entitled xe2x80x9cMethod and Apparatus for Dynamic Distributed Computing Over a Network.xe2x80x9d
U.S. patent application Ser. No. 09/044,936, entitled xe2x80x9cAn Interactive Design Tool for Persistent Shared Memory Spaces,xe2x80x9d filed on Mar. 20, 1998.
U.S. patent application Ser. No. 09/044,934, now U.S. Pat. No. 6,438,614, entitled xe2x80x9cPolymorphic Token-Based Control.xe2x80x9d
U.S. patent application Ser. No. 09/044,915, now U.S. Pat. No. 6,138,238, entitled xe2x80x9cStack-Based Access Control.xe2x80x9d
U.S. patent application Ser. No. 09/044,944, now U.S. Pat. No. 6,226,746, entitled xe2x80x9cStack-Based Security Requirements.xe2x80x9d
U.S. patent application Ser. No. 09/044,837, now U.S. Pat. No. 6,282,652, entitled xe2x80x9cPer-Method Designation of Security Requirements.xe2x80x9d
The present invention relates generally to data processing systems and, more particularly to a dynamic lookup service in a distributed system.
A lookup service contains an indication of where network services are located within a distributed system comprised of multiple machines, such as computers and related peripheral devices, connected in a network (for example, a local area network, wide area network, or the Internet). A xe2x80x9cnetwork servicexe2x80x9d refers to a resource, data, or functionality that is accessible on the network. Typically, for each service, the lookup service contains an address used by a client (e.g., a program) to access the service (e.g., a printer).
Conventional lookup services are static: whenever updates to the lookup service are needed to either add a new service or delete an existing service, the lookup service is taken offline, rendering the lookup service inaccessible, and then, the lookup service is manually updated by the system administrator. During the time when the lookup service is offline, clients in the distributed system are unable to access the lookup service and any of its network services. Another limitation of conventional lookup services is that, when updated, clients are not made aware of the updates to the lookup service until they explicitly perform a refresh operation, which downloads the latest service information to the clients. Before such a refresh, however, if a client requests a service that is no longer available, an error occurs which may cause the client to hang. Also, before a refresh, the client is not aware of any new services that have been recently added to the lookup service. It is therefore desirable to improve lookup services for distributed systems.
Systems consistent with the present invention provide an improved lookup service that allows for the dynamic addition and deletion of services. This lookup service allows for the update, i.e., addition and deletion of available services automatically, without user intervention. As a result, clients of the lookup service may continue using the lookup service and its associated services while the updates occur. Additionally, the lookup service provides a notification mechanism that can be used by clients to receive a notification when the lookup service is updated. By receiving such a notification, clients can avoid attempting to access a service that is no longer available and can make use of new services as soon as they are added to the lookup service.
In accordance with methods consistent with the present invention, a method is provided in a data processing system having a lookup service with associated services. This method receives a request by the lookup service for notification when the lookup service is updated, determines when the lookup service is updated, and generates a notification when it is determined that the lookup service is updated.
In accordance with methods consistent with the present invention, a method is provided in a data processing system having a lookup service with associated services. This method sends a request to the lookup service to be notified when the lookup service is updated and receives an indication that the lookup service has been updated.
In accordance with methods consistent with the present invention, a method is provided in a data processing system having a lookup service with associated services and a client lookup manager with an associated cache. This method transmits an event by the lookup service that identifies a change to one of the associated network services. The client lookup manager receives the event and updates the associated cache to reflect the change.
In accordance with methods consistent with the present invention, a method is provided in a data processing system having a client and lookup service with associated services. This method receives a request from a client for access to a network service, then retrieves a reference from a cache reflecting a particular network service corresponding to the requested network service and transmits the reference to the client.
In accordance with systems consistent with the present invention, a data processing system comprising a memory and a processor is provided. The memory includes a lookup service containing indications of services that are available for use, a first client for updating the lookup service, and a second client for utilizing the lookup service while the first client is updating the lookup service. The processor runs the lookup service, the first client, and the second client.
In accordance with systems consistent with the present invention, a data processing system containing a memory and a processor is provided. The memory contains a lookup service with indications of services available for use and a client. The lookup service receives requests for notification of when the lookup service is updated, determines when the lookup service is updated, and generates notifications when the lookup service is updated. The client sends a request to the lookup service to be notified when the lookup service is updated. The processor runs the client and the lookup service.
In accordance with systems consistent with the present invention, a data processing system containing a memory and a processor is provided. The memory contains a lookup service with references to a plurality of network services available for use, a client, and a client lookup manager with an associated cache stored on the client computer. The client lookup manager accesses the lookup service and stores service references in the cache. The processor runs the client and the lookup service.
In accordance with systems consistent with the present invention, a computer-readable memory device containing a data structure is provided. This data structure is for accessing a lookup service with associated network services available for use. The data structure contains a notify method for use by a client to register with the lookup service to receive a notification from the lookup service when the lookup service is updated.